﻿Imports CapaLogica.CL.Usuario
Imports CapaLogica.CL.Blog

Public Class frmAdministrarBlog

    Private Sub btnBuscar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBuscar.Click
        Dim rol As Integer = -1
        Dim nombre As String
        Dim codigo As String
        nombre = Nothing
        codigo = Nothing
        Dim result As Integer = -1

        If txtNombre.Text = Nothing And txtCodigo.Text = Nothing Then
            nombre = Nothing
            codigo = Nothing
            MessageBox.Show("Debe seleccionar un criterio de búsqueda", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
        ElseIf txtNombre.Text = Nothing And txtCodigo.Text <> Nothing Then
            nombre = ""
            codigo = txtCodigo.Text
            result = 0
        ElseIf txtNombre.Text <> Nothing And txtCodigo.Text = Nothing Then
            codigo = ""
            nombre = txtNombre.Text
            result = 0
        ElseIf txtNombre.Text <> Nothing And txtCodigo.Text <> Nothing Then
            codigo = txtCodigo.Text
            nombre = txtNombre.Text
            result = 0
        End If

        If result = 0 Then
            DataGridUsuario.DataSource = GestorUsuario.buscarUsuario(codigo, nombre, "", "", rol, "")

        End If
    End Sub

    Private Sub btnEliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEliminar.Click

        If ((DataGridUsuario.CurrentRow Is Nothing) OrElse (DataGridUsuario.SelectedRows.Count = 0)) Then
            MsgBox("Debe de seleccionar el usuario antes de desactivarle el blog", MsgBoxStyle.Exclamation, "Error")
            Exit Sub
        Else
            Dim mensaje As String
            mensaje = "Desea eliminar el blog"
            Dim button As DialogResult = MessageBox.Show(mensaje, "Usuario", MessageBoxButtons.YesNoCancel,
                                                         MessageBoxIcon.Warning)
            If button = DialogResult.Yes Then
                Try

                    Dim id As Int32 = CStr(DataGridUsuario.SelectedRows(0).Cells(0).Value)
                    Dim nombre As String = CStr(DataGridUsuario.SelectedRows(0).Cells(2).Value)
                    Dim rol As Int32 = CStr(DataGridUsuario.SelectedRows(0).Cells(5).Value)

                    If validarRol(rol) Then

                        mensaje = GestorBlog.eliminarBlog(id)
                        MsgBox(mensaje)

                    End If

                Catch ex As Exception
                    MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
                End Try
            End If
        End If
    End Sub

    Private Sub btnCrear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCrear.Click
      
        If ((DataGridUsuario.CurrentRow Is Nothing) OrElse (DataGridUsuario.SelectedRows.Count = 0)) Then
            MsgBox("Debe de seleccionar el usuario antes de crearle el blog", MsgBoxStyle.Exclamation, "Error")
            Exit Sub
        Else
            Dim mensaje As String
            mensaje = "Desea crear el blog"
            Dim button As DialogResult = MessageBox.Show(mensaje, "Usuario", MessageBoxButtons.YesNoCancel,
                                                         MessageBoxIcon.Warning)
            If button = DialogResult.Yes Then
                Try

                    Dim id As Int32 = CStr(DataGridUsuario.SelectedRows(0).Cells(0).Value)
                    Dim nombre As String = CStr(DataGridUsuario.SelectedRows(0).Cells(2).Value)
                    Dim rol As Int32 = CStr(DataGridUsuario.SelectedRows(0).Cells(5).Value)

                    If validarRol(rol) Then

                        mensaje = GestorBlog.registrarBlog(id, nombre)
                        MsgBox(mensaje)

                    End If

                Catch ex As Exception
                    MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
                End Try
            End If
        End If
    End Sub

    Private Sub tsbRefrescar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsbRefrescar.Click
        refrescar()
    End Sub

    Private Sub refrescar()
        txtCodigo.Text = Nothing
        txtNombre.Text = Nothing
        DataGridUsuario.DataSource = Nothing
    End Sub

    Private Function validarRol(ByVal rol As Integer)
        Dim resul As Boolean
        Dim mensaje As String
        resul = True
        mensaje = ""

        If (rol = 5) Then
            mensaje = "A los rectores no se les puede crear ni activar un blog"
            resul = False
        End If
        If (rol = 3) Then
            mensaje = "A los directores académicos no se les puede crear ni activar un blog"
            resul = False
        End If
        If (rol = 4) Then
            mensaje = "A los encargados de registro no se les puede crear ni activar un blog"
            resul = False
        End If

        If resul = False Then
            MessageBox.Show(mensaje, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End If

        Return resul

    End Function

    Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
        Me.Dispose()
    End Sub

    Private Sub btnActivar_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnActivar.Click
        If ((DataGridUsuario.CurrentRow Is Nothing) OrElse (DataGridUsuario.SelectedRows.Count = 0)) Then
            MsgBox("Debe de seleccionar el usuario antes de activarle el blog", MsgBoxStyle.Exclamation, "Error")
            Exit Sub
        Else
            Dim mensaje As String
            mensaje = "Desea activar el blog"
            Dim button As DialogResult = MessageBox.Show(mensaje, "Usuario", MessageBoxButtons.YesNoCancel,
                                                         MessageBoxIcon.Warning)
            If button = DialogResult.Yes Then
                Try

                    Dim id As Int32 = CStr(DataGridUsuario.SelectedRows(0).Cells(0).Value)
                    Dim nombre As String = CStr(DataGridUsuario.SelectedRows(0).Cells(2).Value)
                    Dim rol As Int32 = CStr(DataGridUsuario.SelectedRows(0).Cells(5).Value)

                    If validarRol(rol) Then

                        mensaje = GestorBlog.activarBlog(id)
                        MsgBox(mensaje)

                    End If

                Catch ex As Exception
                    MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
                End Try
            End If
        End If
    End Sub


    Private Sub btnDesactivar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDesactivar.Click
        If ((DataGridUsuario.CurrentRow Is Nothing) OrElse (DataGridUsuario.SelectedRows.Count = 0)) Then
            MsgBox("Debe de seleccionar el usuario antes de desactivarle el blog", MsgBoxStyle.Exclamation, "Error")
            Exit Sub
        Else
            Dim mensaje As String
            mensaje = "Desea desactivar el blog"
            Dim button As DialogResult = MessageBox.Show(mensaje, "Usuario", MessageBoxButtons.YesNoCancel,
                                                         MessageBoxIcon.Warning)
            If button = DialogResult.Yes Then
                Try

                    Dim id As Int32 = CStr(DataGridUsuario.SelectedRows(0).Cells(0).Value)
                    Dim nombre As String = CStr(DataGridUsuario.SelectedRows(0).Cells(2).Value)
                    Dim rol As Int32 = CStr(DataGridUsuario.SelectedRows(0).Cells(5).Value)

                    If validarRol(rol) Then

                        mensaje = GestorBlog.desactivarBlog(id)
                        MsgBox(mensaje)

                    End If

                Catch ex As Exception
                    MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
                End Try
            End If
        End If
    End Sub
End Class